/*
 * @lc app=leetcode.cn id=202 lang=javascript
 *
 * [202] 快乐数
 */

// @lc code=start
/**
 * @param {number} n
 * @return {boolean}
 */
var isHappy = function (n) {
  const getSum = (n) => {
    const arr= n.toString().split('').map(i=>+i)
    const res=  arr.reduce((pre, cur) => 
      pre+cur*cur,0
    )
    return res
  }
  const sumSet = new Set()
  while (n !== 1 && !sumSet.has(n)) {
      sumSet.add(n)
      n=getSum(n)
  } 
  return n===1
};
// @lc code=end

